package com.mcxx.modules.miniSalvation.fundpay.dao.read;

import com.mcxx.modules.miniSalvation.fundpay.dto.*;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayEntity;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayStatusEntity;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayParam;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayListSearchParam;
import com.mcxx.modules.miniSalvation.fundpay.param.MonitorDataParam;
import com.mcxx.modules.temporary.fundpay.entity.TmpFundPayEntity;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface FundPayReadDao extends Ta404SupportMapper {





	List<FundPayEntity> listAll(FundPayParam param);


	FundPayEntity getById(String id);


	List<String> getIdByIdsAndStates(List<String> fundPayIdList, List<String> stateList);


	List<String> getIdByIdsAndState(List<String> fundPayIdList, String state);


	String cntFundPay(FundPayDTO fundPayDTO);

	String getFundMaxDateWithOrderId(FundPayDTO fundPayDTO);

	String cntFundPayByOrderId(FundPayDTO fundPayDTO);


	int checkFundPayCanAddMember(String fundPayId);





	int countByTypeAndMonth(@Param("businessType") String businessType,@Param("standType") String standType,@Param("areaCode") String areaCode,@Param("payDate") String payDate);







	Integer cntStand(StandFundPayDTO standFundPayDTO);





	List<FundPayEntity> getFundPayList(FundPayListSearchParam fundPayListSearchParam);



	List<FundPayEntity> getFundPayByMonth(String fundType, String areaCode, String payDate, String businessType);



	List<FundPayStatusEntity> getFundpayCreate(String areaCode, String month, String preMonth);


	Integer cntAllowance(AllowanceFundPayDTO allowanceFundPayDTO);




    List<MonitorDataDTO> getMonitorDataList(MonitorDataParam param);


	List<FundPayExcelDto> exportFundPayList(FundPayParam param);



	List<FundPayStatusEntity> getCapitalFundPayCreate(String areaCode, String payDate);


    List<FundPayStatusEntity> getHasSaveObjectZone(String areaCode, String payDate);


	List<FundPayStatusEntity> getTempHasSaveObjectZone(String areaCode, String payDate);


    List<FundPayEntity> getTempFundPay(FundPayListSearchParam param);
}
